#pragma once
#include "../../src_config/DiagramStyle.h"
#include <vector>

//选中标记说明：m_type缺省为0
// 0不可选中
// 1-999完全可选中
// 1001以上为线段只能选中线段
// 2001以上为线段只能选中端点
struct Style_grid {
	// 1.定义点样式
	QString obsPtKey = "obs";
	QString cornerPtKey = "corner";
	QString pathPtKey = "wire";
	QString resPathPtKey = "resWire";
	QString pinPtKey = "pin";
	std::vector<QString> pointStyleKeys = { obsPtKey,cornerPtKey,pathPtKey,resPathPtKey,pinPtKey};
	std::vector<PointStyle> pointStyles = {
		// 轮廓颜色，显示轮廓，轮廓宽度，填充，填充颜色，半径，选中标记
		PointStyle(Qt::black,true,1.0,true,Qt::black,5.0),
		PointStyle(Qt::black,true,1.0,true,Qt::blue,5.0),
		PointStyle(Qt::black,true,1.0,true,Qt::green,5.0),
		PointStyle(Qt::black,true,1.0,true,Qt::darkRed,5.0),
		PointStyle(Qt::black,true,1.0,true,Qt::red,5.0,1)
	};
	// 2.定义线样式
	QString flyLineKey = "flyLine";
	QString pathLineKey = "pathLine";
	QString gridLineKey = "gridLine";
	std::vector<QString> lineStyleKeys = { flyLineKey, pathLineKey, gridLineKey };
	std::vector<LineStyle> lineStyles = {
		// 颜色，宽度，线形，选中标记
		LineStyle(Qt::red, 1.0, Qt::SolidLine,2001),
		LineStyle(Qt::blue, 3.0, Qt::SolidLine,2),
		LineStyle(Qt::gray, 1.0, Qt::SolidLine,0)
	};
	// 3.定义多边形样式
	std::vector<QString> polygonStyleKeys = {};
	std::vector<PolygonStyle> polygonStyles = {};
};
